package com.tangyuan.model;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("video")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class Movies implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.AUTO)
    private Long id;
	/**分类*/
    private String categoryId;
	/**标题*/
    private String title;
	/**视频秒数*/
    private Integer duration;
	/**封面图*/
    private String image;
	/**视频内容地址*/
    private String content;
	/**发布时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date publishDate;
	/**发布人*/
    private String publisher;
    private Long userId;
	/**发布者id*/
    private String publishId;
	/**发布人头像*/
    private String publisherIcon;
	/*** 状态 0 审核中 1 通过 2 不通过*/
    private Integer status;
	/**是否推荐*/
    private Integer recommend;
	/**已读人数*/
    private Integer readNum;
	/**评论人数*/
    private Integer commentNum;
    /**
     * 收藏人数
     */
    private Integer collectionNum;
	/**点赞人数*/
    private Integer thumpUpNum;
	/**分享次數*/
    private Integer shareNum;
	/**审核备注*/
    private String remark;
	/**上传类型 0系统 1用户*/
    private Integer uploadType;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
	/**创建人*/
    private String createBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
	/**修改人*/
    private String updateBy;
	/**逻辑删除*/
    @TableLogic
    private Integer isDeleted;
	/**高德城市编码*/
    private String cityCode;
	/**发布地址*/
    private String address;
	/**经度*/
    private BigDecimal longitude;
	/**纬度*/
    private BigDecimal latitude;
	/**发布范围 0公开可见 1我的好友可见 2我的班级可见 3仅自己可见*/
    private Integer scope;
	/**视频分类 0淘学视频 1讲一讲视频 2小视频*/
    private Integer type;
	/**邀请码*/
    private Integer invitationCode;
	/**话题*/
    private String topic;
	/**音乐ID*/
    private Integer musicId;
	/**阿里审核视频任务id*/
    private String taskId;

    @TableField(exist = false)
    private Integer isThumpUp;
    @TableField(exist = false)
    private Integer isCollection;
    @TableField(exist = false)
    private Integer isConcern;
}